package com.dingpeikeji.quickdeer.modules.rentproduct.entity;

import java.util.Date;

import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Length;

import com.dingpeikeji.quickdeer.core.common.persistence.DataEntity;
import com.dingpeikeji.quickdeer.core.modules.site.entity.TSitedtl;

/**
 * 用户需求Entity
 * @author wuhao
 * @version 2016-08-08
 */
public class TDemands extends DataEntity<TDemands> {
	
	private static final long serialVersionUID = 1L;
	
	// 反馈状态的取值
	public static final String REACTSTATUS_WAIT = "1"; // 待响应
	public static final String REACTSTATUS_SURE = "2"; // 已响应
	public static final String REACTSTATUS_DONE = "3"; // 已支付
	public static final String REACTSTATUS_CANCEL = "4"; // 已取消
	public static final String REACTSTATUS_OFFLINE = "5"; // 线下支付
	
	private Integer demandid;		// 主键
	private Integer rentid;		// 整车产品
	private TCargotype cartype; // 车型
	private String modeldesc;		// 车型描述
	private Integer seats;		// 座位数
	private Integer vehiclenum;		// 租赁数量
	private Date fromdate;		// 租赁开始日期
	private String fromdateStr;
	private Integer rentdays;		// 租赁天数
	private TSitedtl departcity;		// 出发城市
	private TSitedtl destcity;		// 目的城市
	private String contactor;		// 联系人
	private String contactphone;		// 联系电话
	private String remarks; // 备注
	private Double hopeprice;		// 期望价格
	private String sendAddress;	//上车地点
	private String reactstatus;		// 反馈状态
	private String ispublic;		// 是否发布给所有公司
	private Date createDate; // 创建日期
	private Integer rectcount;
	
	//
	private String createDateQueryStart;
	private String createDateQueryEnd;
	private String history; // 查看历史
	private String releaseobject;		//查询条件
	private String time;
	private String orderid;  //订单id

	public String getOrderid() {
		return orderid;
	}

	public void setOrderid(String orderid) {
		this.orderid = orderid;
	}

	public TDemands() {
		super();
	}

	public TDemands(String id){
		super(id);
	}

	public String getSendAddress() {
		return sendAddress;
	}

	public void setSendAddress(String sendAddress) {
		this.sendAddress = sendAddress;
	}

	public Integer getDemandid() {
		return demandid;
	}

	public void setDemandid(Integer demandid) {
		this.demandid = demandid;
	}
	
	public Integer getRentid() {
		return rentid;
	}

	public void setRentid(Integer rentid) {
		this.rentid = rentid;
	}
	
	@Length(min=1, max=255, message="行程描述长度不能过长")
	@NotNull(message="行程描述不能为空")
	public String getModeldesc() {
		return modeldesc;
	}

	public void setModeldesc(String modeldesc) {
		this.modeldesc = modeldesc;
	}
	
	public Integer getSeats() {
		return seats;
	}

	public void setSeats(Integer seats) {
		this.seats = seats;
	}
	
	@NotNull(message="包车数量不能为空")
	public Integer getVehiclenum() {
		return vehiclenum;
	}

	public void setVehiclenum(Integer vehiclenum) {
		this.vehiclenum = vehiclenum;
	}
	
	@NotNull(message="用车时间不能为空")
	public Date getFromdate() {
		return fromdate;
	}

	public void setFromdate(Date fromdate) {
		this.fromdate = fromdate;
	}
	
	@NotNull(message="包车天数不能为空")
	public Integer getRentdays() {
		return rentdays;
	}

	public void setRentdays(Integer rentdays) {
		this.rentdays = rentdays;
	}
	
	@NotNull(message="出发地不能为空")
	public TSitedtl getDepartcity() {
		return departcity;
	}

	public void setDepartcity(TSitedtl departcity) {
		this.departcity = departcity;
	}
	
	@NotNull(message="目的地不能为空")
	public TSitedtl getDestcity() {
		return destcity;
	}

	public void setDestcity(TSitedtl destcity) {
		this.destcity = destcity;
	}
	
	@Length(min=1, max=50, message="联系人不能为空")
	@NotNull(message="联系人不能为空")
	public String getContactor() {
		return contactor;
	}

	public void setContactor(String contactor) {
		this.contactor = contactor;
	}
	
	@Length(min=1, max=20, message="联系电话长度不能超过20个字符")
	@NotNull(message="联系电话不能为空")
	public String getContactphone() {
		return contactphone;
	}

	public void setContactphone(String contactphone) {
		this.contactphone = contactphone;
	}
	
	public Double getHopeprice() {
		return hopeprice;
	}

	public void setHopeprice(Double hopeprice) {
		this.hopeprice = hopeprice;
	}
	
	public String getReleaseobject() {
		return releaseobject;
	}

	public void setReleaseobject(String releaseobject) {
		this.releaseobject = releaseobject;
	}
	
	public String getReactstatus() {
		return reactstatus;
	}

	public void setReactstatus(String reactstatus) {
		this.reactstatus = reactstatus;
	}
	
	public String getIspublic() {
		return ispublic;
	}

	public void setIspublic(String ispublic) {
		this.ispublic = ispublic;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	@NotNull(message="请选择车型")
	public TCargotype getCartype() {
		return cartype;
	}

	public void setCartype(TCargotype cartype) {
		this.cartype = cartype;
	}

	public String getRemarks() {
		return remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public String getCreateDateQueryStart() {
		return createDateQueryStart;
	}

	public void setCreateDateQueryStart(String createDateQueryStart) {
		this.createDateQueryStart = createDateQueryStart;
	}

	public String getCreateDateQueryEnd() {
		return createDateQueryEnd;
	}

	public void setCreateDateQueryEnd(String createDateQueryEnd) {
		this.createDateQueryEnd = createDateQueryEnd;
	}

	public String getHistory() {
		return history;
	}

	public void setHistory(String history) {
		this.history = history;
	}

	public String getFromdateStr() {
		return fromdateStr;
	}

	public void setFromdateStr(String fromdateStr) {
		this.fromdateStr = fromdateStr;
	}

	public String getTime() {
		return time;
	}

	public void setTime(String time) {
		this.time = time;
	}

	public Integer getRectcount() {
		return rectcount;
	}

	public void setRectcount(Integer rectcount) {
		this.rectcount = rectcount;
	}

}